【Security Hub修復手順】[S3.1] S3 ブロックパブリックアクセス設定を有効にする必要があります
こんにちは、AWS事業本部の平井です。
皆さん、お使いのAWS環境のセキュリティチェックはしていますか?
当エントリでは、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介します。
本記事の対象コントロール
[S3.1] S3 ブロックパブリックアクセス設定を有効にする必要があります
[S3.1] S3 Block Public Access setting should be enabled
前提条件
本記事はAWS Security Hubで「AWS基礎セキュリティのベストプラクティススタンダード」を利用されている方向けの内容です。 AWS Security Hubの詳細についてはこちらのブログをご覧ください。
対象コントロールの説明
今回の対象コントロールは、「S3 ブロックパブリックアクセス設定は、アカウントレベルで有効にする」です。
S3 ブロックパブリックアクセス設定は、「意図しないS3バケットの公開」を未然に防ぐための機能になります。
ブロックパブリックアクセスには 4 つの設定があります。
BlockPublicAcls
- パブリックアクセス許可するACLの新規作成や設定変更をブロックします
IgnorePublicAcls
- パブリックアクセス許可するすべてのACLの設定を無視します。
BlockPublicPolicy
- パブリックアクセスを許可する新しいバケットポリシー設定をブロックします。BlockPublicAclsのバケットポリシー版ですね。
RestrictPublicBuckets
- バケットポリシーで設定したパブリックアクセスとクロスアカウントアクセスをブロックします。
IgnorePublicAcls
のバケットポリシー版です。
- バケットポリシーで設定したパブリックアクセスとクロスアカウントアクセスをブロックします。
上記の4つの設定を無効にした場合、意図せずS3のバケットやオブジェクトを公開してしまう可能性があります。有効にすることで、誤ったバケットの公開を防ぐことができます。
ただし、アカウントレベルで有効にした場合、パブリック読み取り用途のS3バケットも公開されなくなります。
その場合は、今回のコントロールを抑制済みにし、アカウントレベルではなくバケットレベルで、ブロックパブリックアクセスの設定をするとよいです。
あくまでもS3 ブロックパブリックアクセス設定は、「意図しないS3バケットの公開」を未然に防ぐための機能であり、意図したS3バケットの公開したい場合、バケットポリシーで最低限の範囲・権限に絞った上で抑制済みにして下さい。
下記は参考ブログになります。
修正手順
1 ステークホルダーに確認
ステークホルダー(リソースの作成者や管理している部署などの関係者)に以下を確認します。
- アカウントレベルでS3バケットのブロックパブリックアクセス設定は、有効にしてよいか
- パブリックアクセスの用途があり、有効にしてはならない場合、
抑制済み
にします。- バケットポリシーで最低限の範囲・権限に絞った上で抑制済みにしましょう。
- 有効にして良い場合、
[2 ブロックパブリックアクセス設定を有効にする]
の作業をしてください。
- パブリックアクセスの用途があり、有効にしてはならない場合、
※設定変更後、業務に影響が出る可能性があります。そのため、社内で注意深く確認し対応して下さい。
2 ブロックパブリックアクセス設定を有効にする
- S3のコンソールから、[このアカウントのブロックパブリックアクセス設定]に遷移し、[編集]をクリックします
- [パブリックアクセスをすべてブロック]にチェックをつけて、変更の保存をします。
- 確認と入力し、[確認]をクリックします。影響するこのアカウントの合計バケット数も表示されています。
- 確認と入力し、[確認]をクリックします。影響するこのアカウントの合計バケット数も表示されています。
これで、アカウントレベルでのブロックパブリックアクセス設定を有効にできました。
S3で静的ウェブサイトホスティングの設定をしている場合、403エラーになりますので、エラー時は、ブロックパブリックアクセス設定を無効に戻しましょう。
最後に
今回は、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介しました。
コントロールを修正して、お使いのAWS環境のセキュリティをパワーアップさせましょう!
最後までお読みいただきありがとうございました!どなたかのお役に立てれば幸いです。
以上、平井でした!